#include <cstdio>
#include <algorithm>
#include <map>
#include <queue>
#include <string>
#include <cstring>
#include <iostream>
using namespace std;
int n;
string tmp;
struct Node{
    int cnt;
    int idx;
    Node* fail;
    Node* Next[100];
    Node(){
        cnt=0;
        idx=0;
        fail=NULL;
        for(int i=0;i<100;i++){
            Next[i]=NULL;
        }
    }
};
Node* root;
int Map[300];
string trans(string s){
    for(int i=0;i<26;++i)Map[i+'A']=i;
	for(int i=26;i<52;++i)Map[i-26+'a']=i;
	for(int i=52;i<62;++i)Map[i-52+'0']=i;
	Map['+']=62,Map['/']=63;
    int l=s.size();
    string res="0";
    for(int i=0,len=0,x=0;s[i] && s[i]!='=';i++){
        len+=6;
        x=(x<<6)|Map[s[i]];
        if(len>=8){
            res[++res[0]]=(x>>(len-8))&0xff;
            len-=8;
        }
    }
    return res;
}
void insert(string s){
    int l=s.size();
    int val;
    Node* p=root;
}
int main(void){
    while(~scanf("%d",&n)){
        for(int i=1;i<=n;i++){
            cin >> tmp;
            // insert(trans(tmp));
            cout << trans(tmp) << endl;
        }
    }
    return 0;
}